home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: Greatest Hits 1996 / Amiga Games: Greatest Hits 1996.iso / spiele / publicdomain / ls-tron3.1 / joystick.mod < prev    next >
Text File  |  1996-03-08  |  2KB  |  90 lines

  1. EXTERNAL;
  2.  
  3. FUNCTION Joystick1 : BYTE;
  4.  
  5.   BEGIN
  6.    {$A
  7.         clr.l  d0
  8.         clr.l  d1
  9.         clr.l  d2
  10.  
  11.         move.w $dff00c,d1
  12.         btst   #9,d1                 ;links
  13.         beq.s  StickA
  14.         bset   #2,d0
  15.     StickA:
  16.         btst   #1,d1                 ;rechts
  17.         beq.s  StickB
  18.         bset   #3,d0
  19.     StickB:
  20.         move.b d0,d2
  21.         lsr.b  #2,d2
  22.         btst   #8,d1                 ;oben
  23.         beq.s  StickC
  24.         bset   #0,d0
  25.     StickC:
  26.         btst   #0,d1                 ;unten
  27.         beq.s  StickD
  28.         bset   #1,d0
  29.     StickD:
  30.         btst   #7,$bfe001            ;Feuer
  31.         bne.s  StickE
  32.         bset   #4,d0
  33.     StickE:
  34.         eor.b  d2,d0
  35.    }
  36.   END;
  37.  
  38. FUNCTION Joystick2 : BYTE;
  39.  
  40.   BEGIN
  41.    {$A
  42.         clr.l  d0                   ;Register löschen
  43.         clr.l  d1
  44.         clr.l  d2
  45.  
  46.         move.w $dff00a,d1           ;Adresse holen
  47.         btst   #9,d1                ;links???
  48.         beq.s  MausA                ;Wenn nicht überspringen
  49.         bset   #2,d0                ;Bit 2 setzen
  50.     MausA:                          ;Sprungmarke
  51.         btst   #1,d1                ;rechts???
  52.         beq.s  MausB                ;Wenn nicht überspringen
  53.         bset   #3,d0                ;Bit 3 setzen
  54.     MausB:                          ;Sprungmarke
  55.         move.b d0,d2                ;Register d0 nach d2 kopieren
  56.         lsr.b  #2,d2                ;
  57.         btst   #8,d1                ;oben???
  58.         beq.s  MausC                ;Wenn nicht überspringen
  59.         bset   #0,d0                ;Bit 0 setzen
  60.     MausC:                          ;Sprungmarke
  61.         btst   #0,d1                ;unten???
  62.         beq.s  MausD                ;Wenn nicht überspringen
  63.         bset   #1,d0                ;Bit 1 setzen
  64.     MausD:                          ;Sprungmarke
  65.         btst   #6,$bfe001           ;Feuer???
  66.         bne.s  MausE                ;Wenn nicht überspringen
  67.         bset   #4,d0                ;Bit 4 setzen
  68.     MausE:                          ;Sprungmarke
  69.         eor.b  d2,d0                ;
  70.    }
  71.   END;
  72.  
  73. FUNCTION BitTest(Wert,Bit : INTEGER) : BOOLEAN;
  74.  
  75.   BEGIN
  76.    {$A
  77.      clr.l  d0
  78.  
  79.      link   a5,#0
  80.      move.l 8(a5),d1
  81.      move.l 12(a5),d2
  82.      unlk   a5
  83.  
  84.      btst   d1,d2
  85.      beq.s  Nein
  86.      move.b #-1,d0
  87.     Nein:
  88.    }
  89.   END;
  90.